-- *****************************************************************
-- CISCO-P2P-IF-MIB.my: Point to Point Interface MIB file
--   
-- August 2008  Hongchi Shih
--   
-- Copyright (c) 2008 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-P2P-IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoP2PIfMIB MODULE-IDENTITY
    LAST-UPDATED    "200808120000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W. Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: q-snmp@cisco.com"
    DESCRIPTION
        "The Point to Point Interface MIB module.
        This MIB manages the generic objects for
        Serial link or SONET/SDH like point to point network 
        interfaces with the encapsulations of PPP 
        (Point to Point Protocol), HDLC (High Level Data Link Control)
        or cHDLC (CIsco extension to High Level Data Link Control) 
        framing.
        Acronyms and terms:
        FCS - Frame Check Sequence. The frame check sequence is 
              used to ensure that the data received is actually 
              the data sent.
        CRC - Cyclic Redundancy Check. The transmitting system 
              processes the frame check sequence portion of the 
              frame through an algorithm called a CRC (Cyclic 
              Redundancy Check).

        One of the usages of CRC is in the following 
        PPP/HLDC over SONET/SDH example.
        +----+
        | PPP|   FCS           Bit                      SONET/SDH
        |HDLC|=> Generation => Stuffing => Scrambling => Framing
        +----+   CRC 16,32"
    REVISION        "200808120000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 668 }


-- The Point to Point Interface MIB consists of the following groups
-- [1] Point to Point interface general information group

ciscoP2PIfMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIB 0 }

ciscoP2PIfMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIB 1 }

cp2pIfGeneralObjects  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIBObjects 1 }


Cp2pIfCrcMode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Specifies the CRC mode of Cyclic Redundancy Check.
        crc16 - 16-bit CRC.
        crc32 - 32-bit CRC."

    REFERENCE
        "RFC-2615, PPP over SONET/SDH: Section 5. Configuration 
        Details."
    SYNTAX          INTEGER  {
                        crc16(1),
                        crc32(2)
                    }

Cp2pIfScramblingMode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "An enumerated value of the Scrambling encryption mode of
        an interface. 
        on  - scrambling encryption enabled.
        off - scrambling encryption disabled."

    REFERENCE
        "RFC-2615, PPP over SONET/SDH: Section 4. X**43 + 1 
        Scrambler Description."
    SYNTAX          INTEGER  {
                        on(1),
                        off(2)
                    }
-- **********************************************************
-- The Point to Point interface Standard Configuration Table
-- **********************************************************

cp2pIfCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cp2pIfCfgEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The Point to Point generic Configuration Table. It contains
        the standard configuration information of the Point to Point
        interface."
    ::= { cp2pIfGeneralObjects 1 }

cp2pIfCfgEntry OBJECT-TYPE
    SYNTAX          Cp2pIfCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the configuration table for each Point to Point
        interface. The entry is created when the Point to Point
        related interface is created in ifTable.
        The possible ifType of point to point interface are listed 
        as follows:
        [1] ppp(23)
        [2] hdlc(118)
        [3] propPointToPointSerial(22)"
    INDEX           { ifIndex } 
    ::= { cp2pIfCfgTable 1 }

Cp2pIfCfgEntry ::= SEQUENCE {
        cp2pIfCfgCrcMode        Cp2pIfCrcMode,
        cp2pIfCfgScramblingMode Cp2pIfScramblingMode,
        cp2pIfCfgTransmitDelay  Unsigned32
}

cp2pIfCfgCrcMode OBJECT-TYPE
    SYNTAX          Cp2pIfCrcMode
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Specifies the CRC mode for the FCS generation of a packet
        sending via the Point to point interface."
    DEFVAL          { crc32 } 
    ::= { cp2pIfCfgEntry 1 }

cp2pIfCfgScramblingMode OBJECT-TYPE
    SYNTAX          Cp2pIfScramblingMode
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Specifies the scrambling encryption mode of the point
        to point interface."
    DEFVAL          { off } 
    ::= { cp2pIfCfgEntry 2 }

cp2pIfCfgTransmitDelay OBJECT-TYPE
    SYNTAX          Unsigned32 (0..18000)
    UNITS           "microseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Specified the minimum delay after sending a packet via
        the point to point interface. The value of '0' indicates 
        the transmit delay of packet is disabled."
    DEFVAL          { 0 } 
    ::= { cp2pIfCfgEntry 3 }
 

-- ***********************************************
-- The Point to Point Interface Statistics Table
-- ***********************************************

cp2pIfStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cp2pIfStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The Point to Point Interface Statistics Table.  It contains
        statistics information of a Point to Point interface
        including the error statistics."
    ::= { cp2pIfGeneralObjects 2 }

cp2pIfStatsEntry OBJECT-TYPE
    SYNTAX          Cp2pIfStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the statistics table for each Point to Point
        interface."
    AUGMENTS           { cp2pIfCfgEntry  } 
 
    ::= { cp2pIfStatsTable 1 }

Cp2pIfStatsEntry ::= SEQUENCE {
        cp2pIfStatsInCrcErrors Counter32
}

cp2pIfStatsInCrcErrors OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Accumulated number of CRC errors that are detected on
        the received packets via the Point to Point interface
        since system startup." 
    ::= { cp2pIfStatsEntry 1 }
 

-- **************************************
-- Conformance and compliance statements
-- **************************************
--   
-- conformance information

ciscoP2PIfMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIB 3 }

ciscoP2PIfMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIBConformance 1 }

ciscoP2PIfMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoP2PIfMIBConformance 2 }


-- compliance statements

ciscoP2PIfMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement
        the Cisco Point to Point interface MIB"
    MODULE          -- this module
    MANDATORY-GROUPS { ciscoP2PIfMIBGeneralGroup }

    OBJECT          cp2pIfCfgCrcMode
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cp2pIfCfgScramblingMode
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cp2pIfCfgTransmitDelay
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoP2PIfMIBCompliances 1 }

-- units of conformance

ciscoP2PIfMIBGeneralGroup OBJECT-GROUP
    OBJECTS         {
                        cp2pIfCfgCrcMode,
                        cp2pIfCfgScramblingMode,
                        cp2pIfCfgTransmitDelay,
                        cp2pIfStatsInCrcErrors
                    }
    STATUS          current
    DESCRIPTION
        "The collection of objects providing general information
        about the Cisco Point to Point interfaces."
    ::= { ciscoP2PIfMIBGroups 1 }

END